From: psto@xs4all.nl (Peter Stone) Newsgroups: comp.music Subject: Symbolic Composer Pro info Followup-To: comp.music Date: 18 Nov 1994 07:51:16 GMT Organization: Tonality Systems Lines: 373 Distribution: world Message-ID: NNTP-Posting-Host: slip35-231.xs4all.nl Symbolic Composer Pro version Hi, the original MS WORD file contain diagrams, if you want that ask me to send it to you //Peter psto@xs4all.nl) ____ File: Formal Overview / Last update: 11/17/94 Symbolic Composer is one of the richest music programming environments available for the Macintosh. It is used in 22 countries by music research and sophisticated composers. This document describes the basic features of the Symbolic Composer Professional. For more information, or questions, please email to the author. Basic Terms A score is defined with 2 hierarchies: The section grammar and the instrumentation grammar. Class properties are inherited with the inheritance trees of the section and instrumentation grammars. Inheritation mechanism allows to define common properties among instruments and sections. Multiple grammars can be used when inheritation and section structures differ, or when class properties are to be inherited differently. Motives can be used when musical elements are to be processed as whole. Direct zone control, or classes can be used for maximum freedom. Sections & Classes A section consist of any number of instruments. Each instrument is defined by inherited musical properties called classes. Classes are: symbol, length, tonality, zone, velocity, channel, program, controller, tempo, duration, tempo-zones and groove. Obligatory classes are symbol, length, tonality, zone and velocity. The other classes are optional. Classes can be cross-converted to other classes, or cloned between instruments and sections, and global operations can be distributed over sections. Section has default class properties, which are used if they are not specified for instruments. Motives & Methods Instead of processing classes separately (which gives you the maximum freedom), there are occasions when you want to process bigger musical chunks. These are called motives. A motive is a collection of classes: symbol, length, velocity, channel, program, controller, duration, groove, tonality and zone. It may contain only one class, or multiple classes. Motive definition follows an optional motive-tree inheritation. Motives are operated with methods and they will change one or more motive classes at once. For example reverse will reverse all classes of a motive. New methods can be easily added by using S-COM functions. Motives behave like functions and can be nested. Timesheets & Zones Grammars, inheritation, sections and motives provide an efficient abstraction mechanism suitable for modelling compositions. When working with smaller ideas a quicker way is often to use timesheets. Timesheets allows to define linear sequencer-type timings to control instrument play/mute space. Direct zone control is another useful way to create scores. The best way to start is to define a single section, and work on it. When you learn more on composing and S-COM hierarchies, you can start using them. But even "the easy way" can provide an endless source of musical ideas. Symbols, Tonalities and Zones Symbols are one of the basic concepts which make a clear distinction between traditional computer music languages and Symbolic Composer. Instead of processing notes, Symbolic Composer processes symbols and tonalities, which will result notes when combined. When compiling the MIDI file, symbols and tonalities are combined with mechanism called symbol-mapping. On this process symbol a gets a value of the first note of the tonality, b the second and so on. This division makes it easy to apply general algorithms to both melodies and tonalities. Each tonality has an active period called a zone. Zone can be of any length and there can be any number of zones in each instrument. Metrics Symbolic Composer describes metrics in terms of length symbols, applied to zones, tempo-zones, lengths (rhythms), durations and grooves. Length symbols follow standard m/n notation with dot, triplet etc modifiers (like 1/16..), and optionally sequencer-style tick-values can be used. A section is devided in zones, each of which may have its own class properties. Length is a distance between note-on events. Duration defines a duration of each event, allowing notes and chords to overlap when needed. Groove defines how much events will be shifted forward or backward, and suits in creating upbeats or other performance enhancements. Tempo changes usually follow zones, but optional tempo-zones enables more detailed control over tempo changes. Rest Processing: A flexible rest processing mechanism is provided. A rest may occur in zones, lengths or symbols. A zone rest will cancel the processing of a zone and create a rest that lasts for the whole zone. A length rest will create a rest note. A rest symbol will create a rest note lasting the amount of current length event. Quantizing: Quantizing is frequently used in sequencers. In Symbolic Composer it has uses, too, allowing to quantize computed values to musically meaningful rhythmic values. Non-quantized values can also be used. A general quantizer can be applied to all metric classes. Humanizing: When generating MIDI files global expressions values can be applied to instruments. Expressions cover legato, humanize and velocity. Legato allows randomization of durations. Humanize randomizes note-ons and velocity randomizes velocity values. By default expressions are controlled by brownian noise. This simulates performer's finger noise. Optionally other generators can overpass the brownian noise. Filling Class Slots Each class property is defined with a list or a vector, by manually, or using 300 general-purpose musical and mathematical functions. The values are processed with Section Recycling Rules, which are shortly: ¥ If there is less material defined for a zone than there are actual events, then the material is recycled. ¥ If there are less zones defined than there are zones, the zone pattern is recycled. ¥ If the material has no zones it goes through all the zones, and recycles if the section is longer than the material. Recycling provides intuitive way to handle usual pattern-looping methods in many musical styles. Values can also be scaled to fit within given metric ranges. Functions consist of convertors, neurons, libraries, tonalities, and generators and processors, which devide into sub-categories dealing with vector patterns and symbol patterns. A vector pattern consists of integers, reals or ratios, while symbol pattern consists of symbolic information. User can extend functionality by programming new ones in Lisp. Processors include filter, shift, transpose, retrograde, mix, analyze, and morph. Generators include fractals and chaos, L-systems, programmable neurons, Fibonacci series, antenna theory, autocatalysis, Fourier analysis/synthesis, number theory, solar systems, and recursive structures. Generators can be used side by side with processors. The functions are documented internally by a hyperhelp system, which enables to obtain examples by double-clicking a function name. The easies way to learn to use Symbolic Composer is to have an open mind and adopt a 'surfing attitude', pick up a function here another there from the almost unlimited resources, and listen what comes out. S-COM Hierarchies The following picture shows the hierarchies used in Symbolic Composer. Although they may appear complex at first sight, the more you learn composing and expressing music in a formal way, the more you'll appreciate these options. The basics can still be learned in few weeks using only a subset of the whole system. -- inheritance trees -- Score Sections Instruments Motives Classes ----------------------- Methods Functions Summary Symbolic Composer provides a style-independent solution for composing and composition modelling. It implements a formal mechanisms dealing with compositional structures and elements, and is expandable by the user. Symbolic Composer provides: ¥ A high-level framework Symbolic Composer is a framework for handling timings and musical structures. It is composers' responsibility to define the grammars, fill in the class slots, and extend the processors and generators to suit his style. ¥ A style-independent solution All musical styles will likely find its representation within this framework. You are needed clear thinking to be able to use it. If this state of mind is achieved, Symbolic Composer does not make restrictions on styles. ¥ A wealth of build-in composition functions Symbolic Composer includes 300 functions, which cover fractals, chaos and compositional algorithms. New functions can be programmed directly within the environment using build-in Common Lisp interpreter. ¥ Expandable music programming environment After few years most composers start to write Lisp-extensions. These functions and methods can be collected to modules, and shared by other users. A good example of this is NM PowerPack, programmed by British composer and music educator Nigel Morgan. Modules can be realized both as Lisp source code saved in ascii format, or compiled FASL Lisp files generated by Macintosh Common Lisp. PRESS RELEASE 1 November 1994 Six months ago we left the MIDI world in shock as they uncovered Symbolic Composer v3.1 with AutoCatalysis and Graffities. Now it is again time to move on, and we have created another milestone in history of MIDI, a further innovation for music composition workstation for professional MIDI production, the Symbolic Composer Professional, Composer's Digital Assistant for the Macintosh. In two years Symbolic Composer has changed the way many top MIDI composers and producers work in 22 countries all over the world. And there is no end in sight what can be done using the 300 S-COM power tools. As the sequencer technology proceeds toward better and better MIDI recording and editing performance, Symbolic Composer is destined to open new and exiting musical horizons for MIDI professionals. Symbolic Composer has grabbed the imagination of MIDI professionals worldwide, both in high-end research and in the commercial field, where the composers are waking up to the potential this system how to energise and vitalize creative activity in the studio, whether its with a fractal mix, or experimenting with virtual arts, or scoring music for films. Symbolic Composer steps beyond sequencing and extends current MIDI technology. It's the perfect partner for the advanced MIDI musician and transcend the emphemeralities of next month's synthesizer or CD-ROM compilation. No matter what direction a composer's music takes, Symbolic Composer is the universal resource for music orgination and production. It's an investment that lasts. With Symbolic Composer Professional Tonality Systems now introduces an object-oriented Class System. It enables the composer to handle complex score structures with ease. This feature alone sets Symbolic Composer Professional as the leading music composition system, and brings the power of efficient and modular composition design now for everybody. Class system allows to define song section structures as logic-trees. This feature will be appreaciated by advanced composers working with highly complex compositional structures, who want to formalize composition styles, and develop composition models. The Class System is hugely powerful system and can handle all musical styles with equal strength, with no limits on the size of logic-trees. Symbolic Composer Professional includes also a support for length processors, and implements 20 new functions for processing rhythmic elements. These tools enable the composer to create syncopates, rhythmic variations and metamorphoses for wide variety of styles. Symbolic Composer Professional handles all the time-consuming calculations transparently letting the composer to concentrate on music. The 300 power-tools cover all chords, scales and composition methods know in the western music, and with them the composer can build hot beats, imitate the techniques of the great masters, experiment with serial music or create effects beyond the reach of other MIDI systems. Symbolic Composer Professional places 9 years of development and 41 years of computer music achievements into an affordable package for MIDI professionals and for the personal studio. The 300 power-tools can be applied equally to melodies, chords, rhythms, durations, velocities, channel & program changes, tempos, MIDI controllers and whole compositional structures. YellowPages and QuickTools make the system intuitive to use. All commands are performed with the mouse, and the user can immediately start exploring the myriad possibilites that Symbolic Composer Professional opens up. Like the fractal zoom, where each magnification of the image produces new landscapes, Symbolic Composer Professional can generate and process musical ideas, and with the same unlimited power. Symbolic Composer Professional runs side by side with Finale, Performer, Mosaic, Vision, Encore, Cubase, Notator Logic, Mastertracks Pro, Metro, and with the QuickTime 2.0 Music Instruments. List price is set to $595 (academic discounts available). (This file must be converted with BinHex 4.0) :$NCeCh9P)'PZ)&-Y3dp0!%eTC'P0584+!!!!!!q6!!!!!#*!694SC!!!!!B!!3! %!H"09(*V!!!!)`$r9!9J!!!!!!$r83-&Z0J!reJ%"!)B#!$r@3)!!,`!rbm!694 bD`!!"P!!r`-&4R9RG@8!N!!`8S&`J$!!!*!!-NL"F)!b!!#3!$-mJA#!-`!!N!! e0S&`J$8!!*!!0c@"F)!h!!#3!$JfJA#!1!!!N!!h1B&`J$F!!*!!06U"F)!e!!# 3!$-pJA#!-`!!N!!b3)&`J$)!!*!!-d5"F)!c!!#3!$9&JA#!03!!N!!c5)&`J$- !!*!!-Nb"F)!b!!#3!$"2JA#!-!!!N!!m8B&`J$`!!*!!1e5"F)!l!!#3!$aAJA# !2!!!N!!i@i&`J$J!!*!!0eb"F)!h!!#3!$9IJA#!03!!N!!mBS&`J$`!!*!!1fD "F)!l!!#3!$aSJA#!2!!!N!!hCi&`J$F!!*!!0@5"F)!e!!#3!$0KJA#!-`!!N!! mB)&`J$`!!*!!1ef"F)!l!!#3!$aDJA#!2!!!N!!e9S&`J$8!!*!!0e5&8)!h!!# 3!$G5JA#!0`!!N!!e6S&`J$8!!*!!2NZ"F)!q!!#3!$a*JA#!2!!!N!!l4S&`J$X !!*!!1%1"F)!i!!#3!$FrJA#!0`!!N!!e2B&`J$8!!*!!0cq"F)!h!!#3!$K"JA# !1!!!N!!l4)N`J$X!!*!!2%D$B)!m!!#3!$*)K9#!-J!!N!!e6)&`J$8!!*!!0dr -F)!h!!#3!$"4JA#!-!!!N!!b8)&`J$)!!*!!-df"F)!c!!#3!$9+JA#!03!!N!! h5B&`J$F!!*!!1%D"F)!i!!#3!$G$JA#!0`!!N!!e2i&`J$8!!*!!-cf"F)!c!!# 3!$)lJA#!-J!!N!!c0i&`J$-!!*!!065"F)!e!!#3!$-bJA#!-`!!N!!b2i&`J$) !!*!!-&+"F)!`!!#3!$aTJA#!2!!!N!!lGB&`J$X!!*!!2(Q"F)!m!!#3!$KjJA# !1!!!N!!hGi&`J$F!!*!!0AD"F)!e!!#3!$aiJA#!2!!!N!!lHS&`J$X!!*!!2(f "F)!m!!#3!$GrJA#!0`!!N!!eI)&`J$8!!*!!-hH"F)!c!!#3!$a`JA#!2!!!N!! lEB&`J$X!!*!!2'Q"F)!m!!#3!$9QJA#!03!!N!!hBS93J$F!!*!!0f#"F)!h!!# 3!$9GJA#!03!!N!!l@S&`J$X!!*!!2&D"F)!m!!#3!$j8JA#!2J!!N!!m@i&`J$` !!*!!1fD"F)!l!!#3!$KcJA#!1!!!N!!lHS0JJ$X!!*!!1(Z&8)!i!!#3!$0kJA# !-`!!N!!bH)&`J$)!!*!!-(D$B)!`!!#3!$GiJA#!0`!!N!!iHS&`J$J!!*!!0hf *-)!h!!#3!$KrJA#!1!!!N!!hHS&`J$F!!*!!0A+$B)!e!!#3!$aSJA#!2!!!N!! qBle`J$i!!*!!0eq"F)!h!!#3!$9EJA#!03!!N!!l9i&`J$X!!*!!2&@"F)!m!!# 3!$j5JA#!2J!!N!!m6S&`J$`!!*!!1dZ"F)!l!!#3!$K*JA#!1!!!N!!h8S&`J$F !!*!!0@#"F)!e!!#3!$G`JA#!0`!!N!!iH)&`J$J!!*!!1hZ"F)!l!!#3!$0kJA# !-`!!N!!iGi&`J$J!!*!!0hD"F)!h!!#3!$9iJA#!03!!N!!cHS&`J$-!!*!!-Rf "F)!b!!#3!$"rJA#!-!!!N!!eH)&`J$8!!*!!0ff"F)!h!!#3!$KJJA#!1!!!N!! l@B&`J$X!!*!!2&L"F)!m!!#3!$jCJA#!2J!!N!!mA)&`J$`!!*!!1ef"F)!l!!# 3!$KIJA#!1!!!N!!hBi&`J$F!!*!!1'D"F)!i!!#3!$YSN!"`J$X!!*!!1f'"F)! l!!#3!%&@Kd#!33!!N!!l5B&`J$X!!*!!1%+KB)!i!!#3!$K&JA#!1!!!N!!l6)9 3J$X!!*!!1&@"F)!i!!#3!$GDJA#!0`!!N!!e@S&`J$8!!*!!-eL3!(#!-`!!N!! i9B&`J$J!!*!!1e5&8)!l!!#3!$K5JA#!1!!!N!!h5*43J$F!!*!!-$b"F)!`!!# 3!$)fJA#!-J!!N!!c0B&`J$-!!*!!06D"F)!e!!#3!$FjJA#!0`!!N!!i1S&`J$J !!*!!0cf"F)!h!!#3!$9!JA#!03!!N!!c4)&`J$-!!*!!-N@"F)!b!!#3!$0)JA# !-`!!N!!e6)&`J$8!!*!!-dq"F)!c!!#3!$*4JA#!-J!!N!!`9)&`J$!!!*!!2&H "F)!m!!#3!$YEJA#!1`!!N!!mA)&`J$`!!*!!1&q"F)!i!!#3!$GLJA#!0`!!N!! eCS&`J$8!!*!!2'L"F)!m!!#3!$YRJA#!1`!!N!!mC)&`J$`!!*!!0f'"F)!h!!# 3!$9JJA#!03!!N!!cAB&`J$-!!*!!2&U"F)!m!!#3!$Y@JA#!1`!!N!!m9)&`J$` !!*!!09+"F)!e!!#3!$G1JA#!0`#m!2m[!%e8FQX!!!6'!2m$"8CeCh9P[!#43eD "F)&$!!#44&5"F)&%!!#44e1"F)&(!!#45&@"F)&)!!#45PL"F)&+!!#45eZ"F)& ,!!#45Pf"F)&+!!#45&L"F)&)!!#44dq"F)&(!!#44%D"F)&%!!#44d'"F)&(!!# 45%D"F)&)!!#44e#"F)&(!!#44&f"F)&%!!#43f1"F)&$!!#46f@"F)&2!!#46@1 "F)&0!!#46f'"F)&2!!#45eq"F)&,!!#45Pf"F)&+!!#45&U"F)&)!!#46eD"F)& 2!!#4695"F)&0!!#46eZ"F)&2!!#45QD"F)&+!!#45(1"F)&)!!#44hU"F)&(!!# 46hZ"F)&2!!#46AU"F)&0!!#46hL"F)&2!!#45(D"F)&)!!#45RL"F)&+!!#45hU "F)&,!!#44(f"F)&%!!#45Rq"F)&+!!#45(D$B)&)!!#46fL$B)&2!!#45eLIF)& ,!!#45dq"F)&,!!#44%f"F)&%!!#44dk$B)&(!!#45P#P3)&+!!#45P+"F)&+!!# 45&5"F)&)!!#44eH&8)&(!!#45&Z"F)&)!!#45Pb"F)&+!!#45f13!(#"5`!!N80 XJA#"3`!!N84fJA#"4!!!N8GlJA#"4`!!N8KmJA#"5!!!N8TlJA#"5J!!N8YiJA# "5`!!N8TfJA#"5J!!N8KiJA#"5!!!N8GkJA#"4`!!N84pJA#"4!!!N8GrJA#"4`! !N8KiJA#"5!!!N8GYJA#"4`!!N84JJA#"4!!!N80CJA#"3`!!N8pBJA#"6`!!N8e CJA#"63!!N8pFJA#"6`!!N8YGJA#"5`!!N8TIJA#"5J!!N8KMJA#"5!!!N8pQJA# "6`!!N8eSJA#"63!!N8pYJA#"6`!!N8TcJA#"5J!!N8KkJA#"5!!!N8GpJA#"4`! !N8ppJA#"6`!!N8elJA#"63!!N8piJA#"6`!!N8KhJA#"5!!!N8TiJA#"5J!!N8Y kJA#"5`!!N84pJA#"4!!!N8TrJA#"5J!!N8KbJf#"5!!!N8pIPN#"6`!!N80(JA# "3`!!N8JmJA#"5!!!N8SiJA#"5J!!N8XidN#"5`!!N8SkJA#"5J!!N8JlJA#"5!! !N8dpJA#"63!!N8p!JA#"6`!!N9"%JA#"8!!!N8p&JA#"6`!!N8e)JA#"63!!N8Y -JA#"5`!!N8T2JA#"5J!!N8K4JA#"5!!!N8T3JA#"5J!!N8Y0JA#"5`!!N8e+JA# "63!!N8G*JA#"4`!!N8Y'JA#"5`!!N8T$JA#"5J!!N8JrJA#"5!!!N8FpJA#"4`! !N83qJA#"4!!!N80"JA#"3`!!N8K%JA#"5!!!N8T'JA#"5J!!N8Y)JA#"5`!!N8e -JA#"63!!N8p2JA#"6`!!N9"4JA#"8!!!N8p8JA#"6`!!N8eAJA#"63!!N8YEJA# "5`!!N8TFJA#"5J!!N8YIJA#"5`!!N8eLRh#"63!!N90QJf#"8`!!N8eSJA#"63! !N8pRJA#"6`!!N9"NJA#"8!!!N8TKJA#"5J!!N8pJJA#"6`!!N8eGJA#"63!!N8Y DJf#"5`!!N8p@JA#"6`!!N8e8JA#"63!!N8Y5JA#"5`!!N8T1JA#"5J#$B*&$5E` !J8-![!$r,`"09(*V!!!%,!$r!`9'G@GeCIJ!NLG@JA##*`!!NLP8JA##+3!!NLY 6JA##+`!!NLa9JA##,!!!NLpBJA##,`!!NM"EJA##-!!!NLpGJA##,`!!NLaBJA# #,!!!NLY2JA##+`!!NLP'JA##+3!!NLY"JA##+`!!NLa'JA##,!!!NLY3JA##+`! !NLPGJA##+3!!NLGMJA##*`!!NM0PJA##-`!!NM*MJA##-J!!NM0KJA##-`!!NM" IJA##-!!!NLpGJA##,`!!NLaDJA##,!!!NM0@JA##-`!!NM*8JA##-J!!NM0EJA# #-`!!NLpQJA##,`!!NLacJA##,!!!NLYkJA##+`!!NM0lJA##-`!!NM*kJA##-J! !NM0iJA##-`!!NLafJA##,!!!NLpiX'##,`!!NLPkJf##+3!!NLPpJA##+3!!NLp rJf##,`!!NM*fJf##-J!!NLYSJA##+`!!NLPBJA##+3!!NM"2Jf##-!!!NLa0Jf# #,!!!NLp1X'##,`!!NLG3JA##*`!!NLP5JA##+3!!NLY8JA##+`!!NLaAJA##,!! !NLpEJA##,`!!NM"FJA##-!!!NLpMJA##,`!!NLaXJA##,!!!NLYfJA##+`!!NLP lJA##+3!!NLYmJA##+`!!NLalJA##,!!!NLYiJA##+`!!NLPfJA##+3!!NLGiJA# #*`!!NM0kJA##-`!!NM*pJA##-J!!NM0rJA##-`!!NM"iJA##-!!!NLpYJA##,`! !NLaJJA##,!!!NM0CJA##-`!!NM*BJA##-J!!NM0CJA##-`!!NLpFJA##,`!!NLa GJA##,!!!NLYIJA##+`!!NM0MJA##-`!!NM*QJA##-J!!NM0SJA##-`!!NLaYJA# #,!!!NLpcJA##,`!!NM"kJA##-!!!NLPpJf##+3!!NLapJA##,!!!NM*l`d##-J! !NLaiK9##,!!!NLphJf##,`!!NLYiJA##+`!!NLPkNQ##+3!!NM"pJf##-!!!NLa rJA##,!!!NM9bK9##03!!NLpIJf##,`!!NLp(JA##,`!!NL`mJA##,!!!NM)iJA# #-J!!NM-iJA##-`!!NM8kJA##03!!NM-lJA##-`!!NM)pJA##-J!!NM"!JA##-!! !NLp%JA##,`!!NLa&JA##,!!!NLp)JA##,`!!NM"-JA##-!!!NM*2JA##-J!!NLY 4JA##+`!!NM"3JA##-!!!NLp0JA##,`!!NLa+JA##,!!!NLY*JA##+`!!NLP'JA# #+3!!NLG$JA##*`!!NL`rJA##,!!!NLmpJA##,`!!NM!qJA##-!!!NM*"JA##-J! !NM0%JA##-`!!NM9'JA##03!!NM0)JA##-`!!NM*-JA##-J!!NM"2JA##-!!!NLp 4JA##,`!!NM"8JA##-!#"F*)R@rJ!JLG!!2m[!(M-!!!: